#pragma once

#include "Grammar.h"
#include "LexAnalyst.h"
#include "YaccTable.h"
#include "Tree.h"

using namespace std;

class SynAnalyst
{
public:
	SynAnalyst(string yOutFilePath, Grammar *gram, LexAnalyst *lex);
	~SynAnalyst(void);
	Tree getTree();
private:
	void parse(vector<LexWord> lexWords);
	void SetTableStringHeader();

	YaccTable *m_yaccTable;
	Grammar *m_gram;
	LexAnalyst *m_lex;
	Tree m_tree;
};
